package org.example.video.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.commonapi.domain.R;
import org.example.commonapi.domain.Video;
import org.example.commonapi.vo.VideoHistoryVO;
import org.example.commonapi.vo.VideoVO;
import org.example.video.strategy.VideoSortType;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface VideoService extends IService<Video> {
    R<List<VideoVO>> getHotVideoList();

    R<Video> clickVideo(HttpServletRequest request, Integer videoId);

    R addVideo(HttpServletRequest request,Video video);

    R collectVideo(HttpServletRequest request, Integer videoId);

    R<List<VideoVO>> getMyCollectVideo(HttpServletRequest request);

    R<List<Video>> getMyVideo(HttpServletRequest request);

    R<List<Video>> searchVideoByTitle(String title);

    R<Video> getVideoInfoById(Integer videoId);

    R<List<VideoVO>> getTargetSubjectVideoList(String subject, VideoSortType sortType);

    R<List<VideoVO>> getTargetSubjectVideoList(String subject);

    R<List<VideoHistoryVO>> getVideoHistory(HttpServletRequest request);

    R<List<List<Integer>>> getRecentDayVideoDetail(HttpServletRequest request);

    R<Boolean> getVideoCollectState(HttpServletRequest request, Integer videoId);

}
